import _imports  # 只在此项目有效，其他项目，请去掉此 import
import pybi as pbi
import pandas as pd
from src.data.dataset import load_df


# pandas 加载数据
df = load_df("某咖啡公司销售数据.xlsx")

# 设置好数据源
data = pbi.set_source(df)
market_view = pbi.set_dataView(
    f"select 市场类别,sum(销售额) as 总销售额 from {data} group by 市场类别"
)

# 现在，数据源 data 与 market_view 内置了联动


# 使用 grid 创建布局,以下的名字自定义。
# 此时布局时2行2列
grid_layout = """
    data-sc     market-sc
    data-table  market-table
"""

with pbi.gridBox(grid_layout):
    # 基于 data 创建的组件
    # 组件使用 set_gridArea 设置上面布局使用的自定义名字
    pbi.add_slicer(data["产品名称"]).set_gridArea("data-sc")
    pbi.add_table(data).set_gridArea("data-table")

    # 基于 market_view 创建的组件
    pbi.add_slicer(market_view["市场类别"]).set_gridArea("market-sc")
    pbi.add_table(market_view).set_gridArea("market-table")


pbi.to_html("test.html")
